//package com.bite.product.controller;
//
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.cloud.context.refresh.ContextRefresher;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestHeader;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.Set;
//
//@RestController
//@RequestMapping("/actuator")
//public class WebHookController {
//
//    @Value("${webhook.password:222}")
//    private String webhookPassword;
//
//    private final ContextRefresher contextRefresher;
//
//    public WebHookController(ContextRefresher contextRefresher) {
//        this.contextRefresher = contextRefresher;
//    }
//
//    @PostMapping("/refresh")
//    public ResponseEntity<String> refresh(
//            @RequestHeader(value = "X-Gitee-Token", required = false) String giteeToken,
//            @RequestHeader(value = "X-Gitlab-Token", required = false) String gitlabToken) {
//
//        String token = null;
//        if (giteeToken != null && !giteeToken.isEmpty()) {
//            token = giteeToken;
//        } else if (gitlabToken != null && !gitlabToken.isEmpty()) {
//            token = gitlabToken;
//        }
//
//        if (token == null || token.isEmpty()) {
//            return ResponseEntity.status(HttpStatus.BAD_REQUEST)
//                    .body("Missing password/token in request headers");
//        }
//
//        if (!webhookPassword.equals(token)) {
//            return ResponseEntity.status(HttpStatus.UNAUTHORIZED)
//                    .body("Invalid password/token");
//        }
//
//        // 密码验证通过，刷新配置
//        try {
//            Set<String> refreshedKeys = contextRefresher.refresh();
//            return ResponseEntity.ok("Configuration refreshed successfully. Keys: " + refreshedKeys);
//        } catch (Exception e) {
//            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
//                    .body("Failed to refresh configuration: " + e.getMessage());
//        }
//    }
//}
//
